package com.aistudy.common;

import lombok.Getter;

/**
 * 响应码枚举
 *
 * @author AI教学平台
 */
@Getter
public enum ResultCode {
    
    /**
     * 成功
     */
    SUCCESS(200, "操作成功"),
    
    /**
     * 失败
     */
    ERROR(500, "操作失败"),
    
    /**
     * 未认证
     */
    UNAUTHORIZED(401, "未认证或认证已过期"),
    
    /**
     * 无权限
     */
    FORBIDDEN(403, "无权限"),
    
    /**
     * 资源不存在
     */
    NOT_FOUND(404, "资源不存在"),
    
    /**
     * 参数错误
     */
    PARAM_ERROR(10001, "参数错误"),
    
    /**
     * 用户名已存在
     */
    USERNAME_EXISTS(10002, "用户名已存在"),
    
    /**
     * 邮箱已存在
     */
    EMAIL_EXISTS(10003, "邮箱已存在"),
    
    /**
     * 用户名或密码错误
     */
    LOGIN_ERROR(10004, "用户名或密码错误"),
    
    /**
     * 账号被禁用
     */
    ACCOUNT_DISABLED(10005, "账号已被禁用"),
    
    /**
     * AI服务调用失败
     */
    AI_SERVICE_ERROR(20001, "AI服务调用失败"),
    
    /**
     * 文件上传失败
     */
    FILE_UPLOAD_ERROR(30001, "文件上传失败"),
    
    /**
     * 文件下载失败
     */
    FILE_DOWNLOAD_ERROR(30002, "文件下载失败");
    
    /**
     * 响应码
     */
    private final Integer code;
    
    /**
     * 响应消息
     */
    private final String message;
    
    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
} 